perm filename Q.SAI[2,BGB] blob sn#001278 filedate 1972-09-19 generic text, type T, neo UTF8
00100	BEGIN "Q"
00200		REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
00300		REQUIRE "DPYIII[SYS,BGB]" SOURCE_FILE;
00350		ITG CNT1,CNT2;
00375		DEFINE Q⊂="QUICK_CODE";
00400	
00500		SHORT ITG X,Y,VX,VY,AX,AY;
00600		LABEL SA,B;
00700		SAFE INTEGER ARRAY DPYBUF [0:1000];
00800		ITG P;SAFE INTEGER ARRAY PDL[0:100];
00900	
01000		FOR X←1 TO 40 DO OUTSTR(↓);X←600;
01100	B:	Q⊂ LABEL L;MOVE PDL;MOVEM P;
01200		MOVEI SA;HRLI '400001;'047000400003;JFCL;JFCL;
01300		L: MOVEI 10,20;'047000000031 10,;JRST L;⊃;
01400	
01500	SA:	Q⊂ LABEL L1,L2;AOS CNT1;MOVE '17,PDL;JRST 3,@L1;L1: L2;L2:⊃;
01600		IF X>500 THEN ⊂ X ← -500; Y←500; VX ← 3; VY ← 0;⊃;
01700	BEGIN
01800		VY ← VY - 2;
01900		X ← X + VX;
02000		Y ← Y + VY;
02100		IF Y<-500 THEN ⊂ VY ← ABS(VY*0.85);Y ← -500+VY;⊃;
02200		DPYSET(DPYBUF);
02202		AIVECT(-500,-500);
02204		AVECT(+500,-500);
02206		AVECT(+500,+500);
02208		AVECT(-500,+500);
02210		AVECT(-500,-500);
02300		AIVECT(X+10,Y); AVECT(X+7,Y+7);
02400		AVECT(X,Y+10); AVECT(X-7,Y+7);
02500		AVECT(X-10,Y); AVECT(X-7,Y-7);
02600		AVECT(X,Y-10); AVECT(X+7,Y-7);
02700		AVECT(X+10,Y);
02800		DPYOUT(1);
02900		Q⊂ AOS CNT2;JRST 4,;⊃;
03000	END;
03100	END;